package com.aric.springbootmusic.service;

import com.aric.springbootmusic.entity.dto.*;
import com.aric.springbootmusic.entity.pojo.User;
import com.aric.springbootmusic.exceptions.NameDuplicationException;
import com.aric.springbootmusic.utils.Result;
import com.baomidou.mybatisplus.extension.service.IService;

public interface UserService extends IService<User> {
    Result register(RegisterUserDTO userDTO) throws NameDuplicationException;

    Result login(LoginUserDTO userDTO);

    Result logout(String id);

    Result getMenus(String id);

    Result updateUserPassword(UpdateUserPassWordParamDTO updateUserPassWordParamDTO);

    Result findAllUser(QueryAllUserDTO allUserDTO);

    Result getAuthoritys(String id);

    Result updateUserStatus(UserStatusDTO statusDTO);

    Result deleteUser(String id);

    Result findUserById(String id);

    Result updateUser(EditUserDTO userDTO);

    Result selectUserRoleById(String id);

    Result modifyUserRole(EditUserRoleDTO dto);
}
